{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from IPython.display import display\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import math\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from scipy import signal,interpolate\n",
    "import os\n",
    "import shutil\n",
    "\n",
    "import wfdb\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 定义求RR间期的函数\n",
    "def RR(signal,fs_raw=250):\n",
    "    rr = [] #用来存储RR间期的数组\n",
    "    R_pot = [] #用来存储满足条件R点的数组\n",
    "    for index,value in enumerate(signal):\n",
    "        if(index>0):\n",
    "            rr_pot = (value-signal[index-1])/fs_raw\n",
    "            #去除异常的RR间期数值，保留[0.3,1.5]区间的数值\n",
    "            if(rr_pot < 1.5 and rr_pot >0.3):\n",
    "                rr.append(rr_pot)\n",
    "                R_pot.append(value)\n",
    "    return rr,R_pot\n",
    "# 线性内插函数\n",
    "def Interplt(rr, R_pot,fs=250):            \n",
    "    x = np.array(R_pot)/fs\n",
    "    y = rr\n",
    "    tck = interpolate.splrep(x, y, s=0)\n",
    "    t = 8*60 # 8min片段\n",
    "    xnew = np.arange(0,t,0.5)\n",
    "    ynew = interpolate.splev(xnew, tck, der=0)\n",
    "    return xnew,ynew\n",
    "\n",
    "# 将睡眠标签及8分钟观察数据追加进数组data_for_train\n",
    "def write_tag_observation(file,a_refer=9):\n",
    "    # 计算有效区间\n",
    "    obsv_rr = RR_final(file)\n",
    "    a = valid(obsv_rr) #file的有效区间\n",
    "    \n",
    "    # 计算RR间期\n",
    "    record = wfdb.rdrecord(file, channels=[0])\n",
    "    ann_ecg = wfdb.rdann(file,'ecg')\n",
    "    ann_st = wfdb.rdann(file,'st')\n",
    "\n",
    "    # print(ann_st.aux_note[:10])\n",
    "    st = [] #用来存储睡眠状态标签的数组\n",
    "    for aux_note in ann_st.aux_note:\n",
    "        st.append(aux_note.split(\" \")[0])\n",
    "    fs = record.fs       \n",
    "\n",
    "    # 将MT（Moment time 运动状态替换为W）\n",
    "    for index, value in enumerate(st):\n",
    "        if value=='MT':\n",
    "            st[index]='W'\n",
    "\n",
    "    # slp01a 共有len(st)=240个睡眠分期，因为选取的RIS序列为包含该睡眠分期的T=8min片段，因此可训练睡眠分期共有240-15=225个，即st[15:len(st)]\n",
    "    # 观察值序列分别为[0,8min],[0.5,8.5min],[1,9min]...共225个片段对应的经过插值滤波后的8分钟RR间期，下面给出实现代码\n",
    "\n",
    "    T = 8\n",
    "#     fs = 250\n",
    "    min_sample = 60*fs\n",
    "\n",
    "    data_for_train = []\n",
    "    for st_num in range(len(st)-2*T+1):\n",
    "        sig_start = 0.5*st_num*min_sample\n",
    "        sig_end = (T+0.5*st_num)*min_sample\n",
    "        hmm_rr_st_index = []\n",
    "        for index,value in enumerate(ann_ecg.sample):\n",
    "            if(value >= sig_start and value <= sig_end):\n",
    "                hmm_rr_st_index.append(index)\n",
    "        hmm_rr_st = ann_ecg.sample[hmm_rr_st_index[0]:hmm_rr_st_index[-1]] # 每个睡眠分期对应的T=8分钟RR间期索引序列\n",
    "\n",
    "        # 获取RR间期序列，并重采样\n",
    "        st_rr,st_R_pot = RR(hmm_rr_st,fs)\n",
    "        \n",
    "        st_R_pot = st_R_pot-st_R_pot[0]\n",
    "        hmm_rr_st = Interplt(st_rr,st_R_pot)[1] #三次样条插值函数Interplt\n",
    "        \n",
    "        hmm_rr_st_num = hmm_rr_st - signal.medfilt(hmm_rr_st,101) #将滤波后的RR间期序列赋给对应睡眠分期的观测值\n",
    "        hmm_obsv_rr = []\n",
    "        #限幅和编码\n",
    "        for value in hmm_rr_st_num:\n",
    "            if(value < -0.3):\n",
    "                value = -37 #int(-0.3*1000/8)\n",
    "            elif(value > 0.3):\n",
    "                value = 37 #int(0.3*1000/8)\n",
    "            else:\n",
    "                value = int(1000*value/8)\n",
    "            value = int(value*a_refer/a) #标准化\n",
    "            hmm_obsv_rr.append(value)\n",
    "\n",
    "        data_for_train.append([st[st_num+2*T-1],hmm_obsv_rr]) #将睡眠标签及对应8分钟观察值存进数组data_for_train\n",
    "    return data_for_train\n",
    "\n",
    "# 存储滤波、限幅编码后的RR间期序列，为通过直方图匹配变换来消除不同个体RR间期差异做准备\n",
    "def RR_final(file):\n",
    "    # 计算RR间期\n",
    "    record = wfdb.rdrecord(file, channels=[0])\n",
    "    ann_ecg = wfdb.rdann(file,'ecg')\n",
    "    ann_st = wfdb.rdann(file,'st')\n",
    "\n",
    "    # print(ann_st.aux_note[:10]）\n",
    "    st = [] #用来存储睡眠状态标签的数组\n",
    "    for aux_note in ann_st.aux_note:\n",
    "        st.append(aux_note.split(\" \")[0])\n",
    "    fs = record.fs\n",
    "    rr,r_pot = RR(ann_ecg.sample,fs)          \n",
    "\n",
    "    # 将MT（Moment time 运动状态替换为W）\n",
    "    for index, value in enumerate(st):\n",
    "        if value=='MT':\n",
    "            st[index]='W'\n",
    "            \n",
    "    \n",
    "    #三次样条插值函数Interplt\n",
    "    x = np.array(r_pot)/record.fs\n",
    "    y = rr\n",
    "    tck = interpolate.splrep(x, y, s=0)\n",
    "    t = record.sig_len/record.fs      #信号长度（s）\n",
    "    xnew = np.arange(0,t,0.5)\n",
    "    rr_new = interpolate.splev(xnew, tck, der=0)\n",
    "        \n",
    "        \n",
    "    rr_filt = rr_new - signal.medfilt(rr_new,101) #将滤波后的RR间期序列赋给对应睡眠分期的观测值\n",
    "    obsv_rr = []\n",
    "    #限幅和编码\n",
    "    for value in rr_filt:\n",
    "        if(value < -0.3):\n",
    "            value = -37 #int(-0.3*1000/8)\n",
    "        elif(value > 0.3):\n",
    "            value = 37 #int(0.3*1000/8)\n",
    "        else:\n",
    "            value = int(1000*value/8)\n",
    "        obsv_rr.append(value)\n",
    "\n",
    "    return obsv_rr\n",
    "\n",
    "# 为消除不同个体差异应用直方图匹配法：先寻找hmm_obsv_rr的90%有效区间[-a,a]\n",
    "def valid(obsv_rr):\n",
    "    for a in range(37):\n",
    "        count_a = 0 # 将介于区间[-a,a]的r计数，初始化为0\n",
    "        for r in obsv_rr:\n",
    "            if(r > -a and r < a):\n",
    "                count_a += 1\n",
    "        if(count_a > 0.9*len(obsv_rr)):\n",
    "            choose_a = count_a\n",
    "            break\n",
    "    return a # 即90%的点落在[-a,a]之间    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x14804710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "KstestResult(statistic=0.3162776458295986, pvalue=0.0)\n",
      "(0.9565344452857971, 0.0)\n",
      "9\n"
     ]
    }
   ],
   "source": [
    "from scipy.stats import kstest\n",
    "from scipy import stats\n",
    "\n",
    "# 直方图匹配变换\n",
    "file_refer = 'slp01a'#参考系\n",
    "cwd = os.getcwd()\n",
    "file = os.path.join(cwd, 'slpdb_dl_dir', file_refer)\n",
    "obsv_rr = RR_final(file)\n",
    "\n",
    "x = obsv_rr\n",
    "plt.hist(x, bins=256, normed=1,edgecolor='None',facecolor='red')  #画出x的直方图\n",
    "plt.show()\n",
    "test_stat1 = kstest(x, 'norm') #p-value=0<0.05,拒绝假设，假设不成立（x不服从正态分布）,GaussianHMM不适应，考虑MultinomialHMM\n",
    "print(test_stat1)\n",
    "\n",
    "print(stats.shapiro(x))#第二个为p值，<0.5,不服从正态分布\n",
    "\n",
    "refer_a = valid(obsv_rr)\n",
    "print(refer_a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 256,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x147f97f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "17\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nDHZJasz/A8wW0+IQsWL8AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1bede4a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n"
     ]
    }
   ],
   "source": [
    "# 直方图匹配变换\n",
    "file_deal = 'slp67x'#待处理系\n",
    "cwd = os.getcwd()\n",
    "file = os.path.join(cwd, 'slpdb_dl_dir', file_deal)\n",
    "obsv_rr = RR_final(file)\n",
    "\n",
    "x = obsv_rr\n",
    "plt.hist(x, bins=256, normed=1,edgecolor='None',facecolor='red')  #画出x的直方图\n",
    "plt.show()\n",
    "\n",
    "# 为消除不同个体差异应用直方图匹配法：先寻找hmm_obsv_rr的90%有效区间[-a,a]\n",
    "a = valid(obsv_rr)\n",
    "obsv_rr_deal = np.array(obsv_rr)*refer_a/a\n",
    "print(a)\n",
    "\n",
    "x = obsv_rr_deal\n",
    "plt.hist(x, bins=256, normed=1,edgecolor='None',facecolor='red')  #画出x的直方图\n",
    "plt.show()\n",
    "b = valid(obsv_rr_deal)\n",
    "print(b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 234,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "---  There is this folder!  ---\n"
     ]
    }
   ],
   "source": [
    "## 预处理模块：将不同睡眠分期状态及对应的RIS观察值写进文件hmm_obsv.txt\n",
    "cwd = os.getcwd()\n",
    "HMM_data_path = os.path.join(cwd, 'HMM_train')\n",
    "# HMM_data_path = cwd +\"\\\\HMM_data\"\n",
    "folder = os.path.exists(HMM_data_path)  \n",
    "if not folder:                   #判断是否存在文件夹如果不存在则创建为文件夹  \n",
    "    os.makedirs(HMM_data_path)            #makedirs 创建文件时如果路径不存在会创建这个路径  \n",
    "    print (\"---  New folder...  ---\")  \n",
    "    print (\"---  OK  ---\" ) \n",
    "else:  \n",
    "    print (\"---  There is this folder!  ---\" ) \n",
    "\n",
    "file_obsv =  os.path.join(HMM_data_path, 'hmm_obsv.txt') \n",
    "file_test =  os.path.join(HMM_data_path, 'hmm_test.txt') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 235,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp01a\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp01b\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp02a\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp02b\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp04\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp32\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp41\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp48\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp60\n",
      "Writing data of: C:\\Users\\Administrator\\task\\hrv\\sleepdetect\\slpdb_dl_dir\\slp67x\n"
     ]
    }
   ],
   "source": [
    "# 批量读取slpdb_dl_dir下.dat文件,并写入\n",
    "# display(os.listdir('slpdb_dl_dir'))\n",
    "file_batch = ['slp01a', 'slp01b', 'slp02a', 'slp02b', 'slp04', 'slp32', 'slp41', 'slp48', 'slp60', 'slp67x']\n",
    "# file_batch = ['slp03'] #最后一个睡眠标签位置大于RR间期，需要去除最后一个睡眠标签，作为测试样本\n",
    "fid = open(file_obsv,\"w\")\n",
    "for file_alone in file_batch:\n",
    "    file = os.path.join(cwd, 'slpdb_dl_dir', file_alone)\n",
    "    print(\"Writing data of:\",file)\n",
    "    data_for_train = write_tag_observation(file)\n",
    "    \n",
    "    for line in data_for_train:\n",
    "        fid.write(line[0]+\",\")\n",
    "        for content in line[1]:\n",
    "            fid.write(str(content)+\",\")\n",
    "        fid.write(\"\\n\")\n",
    "        \n",
    "fid.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 236,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "observations = list(range(-37,38))\n",
    "Dic_observations = {observations[i]:i for i in range(75)}\n",
    "stations = ['1','2','3','4','R','W']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 237,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.  2.  4. ... 10. 18. 31.]\n",
      " [ 1.  0.  0. ...  9.  3.  0.]\n",
      " [17. 12. 12. ...  0.  0.  0.]\n",
      " ...\n",
      " [ 6.  5.  2. ...  4.  9. 17.]\n",
      " [10.  9.  6. ...  0.  0.  0.]\n",
      " [ 0.  0.  0. ...  3.  3.  2.]]\n"
     ]
    }
   ],
   "source": [
    "## 读取睡眠标签及观察值序列文件hmm_obsv.txt\n",
    "file =  os.path.join(HMM_data_path, 'hmm_obsv.txt') \n",
    "fid = open(file,\"r\")\n",
    "note = fid.readlines()\n",
    "fid.close()\n",
    "\n",
    "states = [] # 存储hmm_obsv.txt的睡眠标签\n",
    "\n",
    "T = 960 \n",
    "observations_data= np.empty((len(note),T)) #用来存储观察值序列的矩阵，每行为一个观察值序列，每个序列长度固定为T=960\n",
    "\n",
    "Ti = 0\n",
    "\n",
    "for line in note:\n",
    "    line_rr = line.split(\",\")\n",
    "    states.append(line_rr[0][0])#将睡眠标签写进states数组,最后一个[0]是为了去空格\n",
    "    \n",
    "    line_new = [] # 对应RR间期\n",
    "    for content in line_rr[1:-1]:  #去掉第一位标签，最后一位换行符\n",
    "        line_new.append(int(content))#int 的作用是将str转为int\n",
    "\n",
    "#     print(line_rr[0])\n",
    "#     print(line_new)\n",
    "#     print(\"==================\")\n",
    "\n",
    "    # 为了保证观察序列长度一致，设置观察序列长度T=2*60*8=960，因此从序列最后开始倒数选取T个观察值(需要重写此处，因为每个观察值列都为960)\n",
    "    #（why倒数选取T个观察值：因为越后面的RR间期越能反应当前的睡眠分期）\n",
    "    line_new = line_new[-T:]\n",
    "    observations_data[Ti:] = line_new\n",
    "    Ti+=1\n",
    "\n",
    "print(observations_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 238,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 975. 1690.  141.   73.  319. 1646.]\n",
      "4844.0\n"
     ]
    }
   ],
   "source": [
    "stations = ['1','2','3','4','R','W']\n",
    "count_stations = np.zeros(6)\n",
    "i = 0\n",
    "for station_alone in stations:\n",
    "    count_stations[i] = states.count(station_alone)\n",
    "    i+=1\n",
    "print(count_stations)\n",
    "print(sum(count_stations))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 239,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "observations_1 = np.empty((int(count_stations[0]),T))\n",
    "observations_2 = np.empty((int(count_stations[1]),T))\n",
    "observations_3 = np.empty((int(count_stations[2]),T))\n",
    "observations_4 = np.empty((int(count_stations[3]),T))\n",
    "observations_R = np.empty((int(count_stations[4]),T))\n",
    "observations_W = np.empty((int(count_stations[5]),T))\n",
    "observations_matrix = [observations_1, observations_2, observations_3, observations_4, observations_R, observations_W]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 240,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "for i in range(6):\n",
    "    line = 0\n",
    "    for index,value in enumerate(states):\n",
    "        if(value==stations[i]):\n",
    "            observations_matrix[i][line] = observations_data[index]\n",
    "            line+=1            \n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 242,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "正在训练隐马尔科夫模型....\n",
      "[-2800749.85363023 -2796607.14351467 -2797347.76457289]\n",
      "正在保存第 0 个模型\n",
      "========\n",
      "\n",
      "正在训练隐马尔科夫模型....\n",
      "[-4719530.42552638 -4718203.17581538 -4702085.20985447]\n",
      "正在保存第 1 个模型\n",
      "========\n",
      "\n",
      "正在训练隐马尔科夫模型....\n",
      "[-334002.65414636 -336370.16920752 -333883.12608036]\n",
      "正在保存第 2 个模型\n",
      "========\n",
      "\n",
      "正在训练隐马尔科夫模型....\n",
      "[-193716.35690159 -195433.18996011 -193920.50046499]\n",
      "正在保存第 3 个模型\n",
      "========\n",
      "\n",
      "正在训练隐马尔科夫模型....\n",
      "[-877818.104798   -883556.18824938 -877866.37744085]\n",
      "正在保存第 4 个模型\n",
      "========\n",
      "\n",
      "正在训练隐马尔科夫模型....\n",
      "[-4294165.61807753 -4299921.9335349  -4291915.32595038]\n",
      "正在保存第 5 个模型\n",
      "========\n"
     ]
    }
   ],
   "source": [
    "## 利用Baum-Welch算法求解HMM模型参数(HMM问题二),分别训练6个模型\n",
    "# 由于Baum-Welch(鲍姆-韦尔奇)算法是基于EM算法的近似算法，所以我们需要多跑几次，比如下面我们跑三次，选择一个比较优的模型参数，代码如下：\n",
    "import numpy as np\n",
    "from hmmlearn import hmm\n",
    "from sklearn.externals import joblib\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "\n",
    "# class hmmlearn.hmm.GaussianHMM(n_components=1, covariance_type='diag', min_covar=0.001, startprob_prior=1.0, transmat_prior=1.0, \n",
    "#                                means_prior=0, means_weight=0, covars_prior=0.01, covars_weight=1,algorithm='viterbi', \n",
    "#                                random_state=None, n_iter=10, tol=0.01, verbose=False, params='stmc', init_params='stmc')\n",
    "                               \n",
    "n_states = len(stations)\n",
    "\n",
    "# 因为下面使用GaussianHMM，不需要给出observations，及对应的索引\n",
    "# observations = list(range(-37,38))\n",
    "# Dic_observations = {observations[i]:i for i in range(75)}\n",
    "# observations_data_index = np.empty(np.shape(observations_data))\n",
    "\n",
    "# 分别训练i=0,1,2,3,4,5 共6个模型\n",
    "for i in range(6):\n",
    "#     observations_tem = observations_matrix[i]\n",
    "#     for line in range(int(count_stations[i])):\n",
    "#         for colum in range(T):\n",
    "#             observations_data_index[line][colum]=Dic_observations[observations_tem[line][colum]]\n",
    "\n",
    "#     n_observations = len(observations)\n",
    "    # hmmlearn实现了三种HMM模型类，按照观测状态是连续状态还是离散状态，可以分为两类。\n",
    "    # GaussianHMM和GMMHMM是连续观测状态的HMM模型，而MultinomialHMM是离散观测状态的模型\n",
    "\n",
    "    # model = hmm.MultinomialHMM(n_components=n_states, n_iter=20, tol=0.01) #不满足多项式分布\n",
    "#     model = hmm.GaussianHMM(n_components=n_states, covariance_type='diag', n_iter=1000, tol=0.01) #本模型中observations为连续状态，满足高斯分布\n",
    "#     X = observations_data_index\n",
    "    X = observations_matrix[i]\n",
    "\n",
    "    print(\"\\n正在训练隐马尔科夫模型....\")  \n",
    "    # 跑三次，选择一个比较优的模型参数\n",
    "    model_0 = hmm.GaussianHMM(n_components=n_states, covariance_type='diag', n_iter=10000, tol=0.01) \n",
    "    model_1 = hmm.GaussianHMM(n_components=n_states, covariance_type='diag', n_iter=10000, tol=0.01)\n",
    "    model_2 = hmm.GaussianHMM(n_components=n_states, covariance_type='diag', n_iter=10000, tol=0.01)\n",
    "#     model_0 = hmm.GMMHMM(n_components=n_states) #混合高斯模型的准确率低于高斯模型，next step：验证数据服从高斯分布，消除RR间期个体差异\n",
    "#     model_1 = hmm.GMMHMM(n_components=n_states)\n",
    "#     model_2 = hmm.GMMHMM(n_components=n_states)\n",
    "    model_score = np.zeros(3)\n",
    "    model_0.fit(X)\n",
    "    model_1.fit(X)\n",
    "    model_2.fit(X)\n",
    "    model_score[0] = model_0.score(X)\n",
    "    model_score[1] = model_1.score(X)\n",
    "    model_score[2] = model_2.score(X)\n",
    "    print(model_score)\n",
    "    model_score = model_score.tolist()#将numpy数组转换为list\n",
    "#     model = '%s%d'%('model_',model_score.index(max(model_score)))#得分最高的模型，赋给model（暂未实现，先将model_2模型保存）\n",
    "    print(\"正在保存第\", '%d' %i,\"个模型\")\n",
    "    joblib.dump(model_2, '%s%d%s'%('model_',i,'.pkl'))#保存模型为model_i.pkl\n",
    "    print(\"========\")\n",
    "#     model.fit(X)\n",
    "#     print(model.startprob_)\n",
    "#     print(model.transmat_)\n",
    "#     print(model.means_)\n",
    "#     print(model.covars_)\n",
    "#     print(model.score(X))\n",
    "#     print(\"========\")\n",
    "#     print(\"model训练完毕，请选取分数最高的模型参数\")\n",
    "    \n",
    "#     保存/调用模型\n",
    "#     joblib.dump(model, \"hmm_model1.pkl\")\n",
    "#     joblib.load(\"hmm_model1.pkl\") "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 250,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Predict\n",
    "# observations_test = [observations_matrix[0][0]]\n",
    "states_test = []\n",
    "for obeservation_alone in observations_data:\n",
    "    model_score = np.zeros(6)\n",
    "    for i in range(6):\n",
    "        model_name = '%s%d%s'%('model_',i,'.pkl')\n",
    "    #     model_name = os.path.join(cwd, model_name)\n",
    "        model = joblib.load(model_name) #调用模型model_i.pkl\n",
    "        model_score[i] = model.score([obeservation_alone])\n",
    "#     print(model_score)\n",
    "    model_score = model_score.tolist()\n",
    "    states_alone_index = model_score.index(max(model_score))\n",
    "    states_test_alone = stations[states_alone_index]\n",
    "    states_test.append(states_test_alone)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.27291494632535096\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1e773320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ab46898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 在训练集上的准确率 标记数组为states，检测标记为states_test\n",
    "count = 0\n",
    "for i in range(len(states)):\n",
    "    if(states[i] == states_test[i]):\n",
    "        count+=1\n",
    "accuracy = count/len(states)\n",
    "print(\"accuracy:\",accuracy)\n",
    "# 将数据保存到excel，方便分析\n",
    "pd.DataFrame(states_test).to_excel(\"states_test.xlsx\",sheet_name=\"states_test\",index=False,header=True)\n",
    "pd.DataFrame(states).to_excel(\"states.xlsx\",sheet_name=\"states\",index=False,header=True)\n",
    "plt.plot(states[:225])\n",
    "plt.title(\"标记睡眠分期\")\n",
    "plt.show()\n",
    "plt.plot(states_test[:225])\n",
    "plt.title(\"HMM睡眠分期\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 252,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Writing data of: slp02a\n",
      "\n",
      " Done.\n"
     ]
    }
   ],
   "source": [
    "# 获取测试数据\n",
    "file_for_test = 'slp02a'\n",
    "fid = open(file_test,\"w\")\n",
    "print(\"Writing data of:\",file_for_test)\n",
    "file = os.path.join(cwd, 'slpdb_dl_dir', file_for_test)\n",
    "data_for_train = write_tag_observation(file)\n",
    "    \n",
    "for line in data_for_train:\n",
    "    fid.write(line[0]+\",\")\n",
    "    for content in line[1]:\n",
    "        fid.write(str(content)+\",\")\n",
    "    fid.write(\"\\n\")\n",
    "        \n",
    "fid.close()\n",
    "print(\"\\n Done.\")\n",
    "\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 253,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 3.,  3.,  3., ...,  3.,  3.,  3.],\n",
       "       [ 3.,  3.,  3., ...,  3.,  3.,  3.],\n",
       "       [ 5.,  5.,  5., ...,  5.,  5.,  5.],\n",
       "       ...,\n",
       "       [11., 11., 11., ..., 11., 11., 11.],\n",
       "       [ 9.,  9.,  9., ...,  9.,  9.,  9.],\n",
       "       [15., 15., 15., ..., 15., 15., 15.]])"
      ]
     },
     "execution_count": 253,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "with open(file_test,\"r\") as fid:\n",
    "    note = fid.readlines()\n",
    "    test_tag = []\n",
    "    T = 960 \n",
    "    test_data= np.empty((len(note),T))\n",
    "    i = 0\n",
    "    for line in note:\n",
    "        line_new = line.split(\",\")\n",
    "        test_tag.append(line_new[0][0])\n",
    "        test_data[i] = int(line_new[1])\n",
    "        i+=1\n",
    "test_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 254,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Predict\n",
    "states_test = []\n",
    "for obeservation_alone in test_data:\n",
    "    model_score = np.zeros(6)\n",
    "    for i in range(6):\n",
    "        model_name = '%s%d%s'%('model_',i,'.pkl')\n",
    "    #     model_name = os.path.join(cwd, model_name)\n",
    "        model = joblib.load(model_name) #调用模型model_i.pkl\n",
    "        model_score[i] = model.score([obeservation_alone])\n",
    "#     print(model_score)\n",
    "    model_score = model_score.tolist()\n",
    "    states_alone_index = model_score.index(max(model_score))\n",
    "    states_test_alone = stations[states_alone_index]\n",
    "    states_test.append(states_test_alone)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 255,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.42318840579710143\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nAE/w/wGQg2945PgRdwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ae23e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n/h8nVx3rq+k08wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x15c5dcc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "st = test_tag\n",
    "# 在测试集上的准确率 标记数组为st，检测标记为states_test\n",
    "count = 0\n",
    "for i in range(len(st)):\n",
    "    if(st[i] == states_test[i]):\n",
    "        count+=1\n",
    "accuracy = count/len(st)\n",
    "print(\"accuracy:\",accuracy)\n",
    "# 将数据保存到excel，方便分析\n",
    "pd.DataFrame(states_test).to_excel(\"states_test.xlsx\",sheet_name=\"states_test\",index=False,header=True)\n",
    "pd.DataFrame(st).to_excel(\"states.xlsx\",sheet_name=\"states\",index=False,header=True)\n",
    "\n",
    "plt.plot(st)\n",
    "plt.title(\"标记睡眠分期\")\n",
    "plt.show()\n",
    "\n",
    "plt.plot(states_test)\n",
    "plt.title(\"HMM睡眠分期\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
